ORACLE数据库数据泵的导入导出 |
您所在的位置:网站首页 › oracle sql developer导出dmp文件 › ORACLE数据库数据泵的导入导出 |
转载 https://blog.csdn.net/lxslf/article/details/126990768 一,数据泵的导入导出数据泵的简介 数据泵中牵扯到一个逻辑概念:路径名称(DIRECTORY),它在物理上对应一个实际路径,当使用数据泵时,路径名称用于指明导出文件所在路径。 –先要准备 –1.创建一个路径指向一个主机上存在的文件夹的路径 CREATE OR REPLACE DIRECTORY DIR_1 AS ‘D:\dir1’; --D:\dir1为实际路径 SELECT * FROM DBA_DIRECTORIES; --查看所有路径 –2.将存放路径的读写权限赋给某用户(以管理员身份赋权) GRANT READ,WRITE ON DIRECTORY DIR_1 TO SCOTT; –3.最好再将DBA权限给该用户,或exp_full_database和imp_full_database权限 GRANT DBA TO SCOTT; –开始导出数据(导出表:emp表) –命令 expdp user_name/pwd directory=dump_dir dumpfile=dump.dmp logfile=dump.log tables=tb_name1[,tb_name2] –开始导出数据(expdp) EXPDP SCOTT/scott DIRECTORY=DIR_1 DUMPFILE=EMP.DMP LOGFILE=EMP.LOG TABLES=EMP –EXPDP 参数介绍 directory --导出路径,该名称指向字典DBA_DIRECTORIES中该名称对应的路径 dumpfile --导出文件的名称,后缀为.dmp logfile --记录导出过程日志,后缀为.log tables|schemas|tablespaces|full --分别表示导出表、模式(用户)、表空间、全库 content={all|data_only|metadata_only} --分别表示导出数据及定义、仅导出数据、仅导出定义 query=[tb_name:] query_condition --导出表时使用,指定where子句以进行筛选,不能与content连用 将此命令放在命令行窗口运行(cmd打开命令行窗口) 我们先来看一下EMP.DMP文件 再来看看日志表EMP.LOG
–开始导入数据(导入刚刚导出的表的数据)(impdp) –命令 impdp user_name/pwd directory=dump_dir dumpfile=dump.dmp logfile=dump.log tables=tb_name1[,tb_name2] DROP TABLE EMP; --为了方便验证,我们将emp表删除 SELECT * FROM EMP; --查一下emp表,看看还存不存在 –导入数据(在命令行执行) IMPDP SCOTT/scott DIRECTORY=DIR_1 DUMPFILE=EMP.DMP LOGFILE=EMP.LOG TABLES=EMP TABLE_EXISTS_ACTION=REPLACE
可以再查一下emp表,看有没有这个表 SELECT * FROM EMP;
–IMPDP-参数介绍: directory --导出路径,该名称指向字典DBA_DIRECTORIES中该名称对应的路径 dumpfile --导出文件的名称,后缀为.dmp logfile --记录导出过程日志,后缀为.log tables|schemas|tablespaces|full --分别表示导出表、模式(用户)、表空间、全库 remap_schema=from_schema:to_schema --改变用户所属 从哪个用户来,要到哪个用户去 IMPDP SCOTT/scott DIRECTORY=DIR_87 DUMPFILE=EMP.DMP LOGFILE=EMP.LOG TABLES=EMP,DEPT REMAP_SCHEMA=SCOTT:LICHUANJIA --从scott来,到LICHUANJIA去 remap_tablespace=from_tbs:to_tbs --改变表空间 table_exists_action={skip|append|replace|truncate} --表存在时的处理:跳过、补充、替换、清空 SKIP:当表存在时,什么操作都不做,直接跳过 APPEND:当表存在时,在现有数据的基础之上补充数据 REPLACE:当表存在时,替换表结构和数据,相当于删除表后又重建插数据 TRUNCATE:当表存在时,清空表,再插入数据 工作中用的比较多的是 append/truncate 扩展: 导出:(导出用户,表空间,数据库) 用户: expdp user_name/pwd directory=dump_dir dumpfile=dump.dmp logfile=dump.log schemas=user_name1[,user_name2] EXPDP SCOTT/scott DIRECTORY=DIR_87 DUMPFILE=LI.DMP LOGFILE=LI.LOG SCHEMAS=LICHUANJIA --导出用户 表空间: expdp user_name/pwd directory=dump_dir dumpfile=dump.dmp logfile=dump.log tablespaces=tbs_name1[,tbs_name2] – 不用 数据库: expdp user_name/pwd directory=dump_dir dumpfile=dump.dmp logfile=dump.log full=y 导入:(导入用户,表空间,数据库) 用户: impdp user_name/pwd directory=dump_dir dumpfile=dump.dmp logfile=dump.log schemas=user_name1[,user_name2] IMPDP SCOTT/scott DIRECTORY=DIR_87 DUMPFILE=LI.DMP LOGFILE=LI.LOG SCHEMAS=LICHUANJIA --导入用户 表空间: impdp user_name/pwd directory=dump_dir dumpfile=dump.dmp logfile=dump.log tablespaces=tbs_name1[,tbs_name2] 数据库: impdp user_name/pwd directory=dump_dir dumpfile=dump.dmp logfile=dump.log full=y oracle 数据导出三种模式导出日志头的区别数据库全表导出 full=y expdp pt6/cape directory=DATA_PUMP_DIR dumpfile=CF642DEV2_full.DMP logfile=CF642DEV2_20230505_full.LOG full=y
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |